Position teaching method and control apparatus for robot

ABSTRACT

The present invention, by manually operating a robot and memorizing a position of the extremity of the robot, teaches a reference point representing a representative position and orientation on a moving path and a relative position of an operating position of a robot extremity in operation from the above-mentioned reference point, and designate a path of a moving position of the robot extremity in operation by an array of the reference points, and teachings of the moving path and a gripping position can be separated each other, and an accurate and easy teaching is enabled.

FIELD OF THE INVENTION

The present invention relates to an action teaching method and a controlapparatus for an industrial robot. Particularly, the present inventionrelates a teaching method and control apparatus which facilitateteaching an operation by which plural robot-manipulators can keep arelative position with each other such as in actions where a workpieceis gripped and moved with plural robot manipulators.

BACKGROUND OF THE INVENTION

In cooperative operation of plural robots such that pluralrobot-manipulators grip a workpiece and move it, the plural robotmanipulators need to be operated so as to maintain relative positions toeach other. Hitherto, there have been methods for teaching suchoperations as described hereafter.

A first method is off-line teaching, wherein operating positions of therobot are inputted as data values into a computer and are set inteaching. However, this method becomes difficult, and subsequentlyunfavorable, as the accuracy of the operating positions of the robotswith respect to their actual work is not necessarily superior.

A second method is to manually operate the robot to a moving position ofan actual operation using a teaching box, and to teach the operatingposition of the robot by sensing and storing the position andorientation of the robot at that time. In this method, it is verydifficult to teach each of the plural robots, by manual operation, aposition and orientation which actually maintains a relative position,including orientation, of a terminal hand. Accordingly, this method hasoften been used by teaching only a starting position to plural robotsperforming a cooperative operation. Subsequent positions of one of theplural robots are then taught in regard to subsequent teaching positionsin the cooperative operation. As such, the plural robots are operated ina manner so that an original relative position is maintained withrespect to the operating path of the robot which is taught by theabove-mentioned method. An example of this method is shown in FIG. 2. Inthis example, operating positions and orientations P1, P2, P3, P4 of afirst robot manipulator, and an operating position and orientation Q1 ofa second robot manipulator, corresponding to P1, are taught. Operatingpositions and orientations Q2, Q3, Q4 are then determined by calculationfrom a relative position of P1 and Q1 and P2, P3, P4, and operationalpaths of respective manipulators are interpolated. As the position isdetected and memorized by manually operating the robot to an actualoperating position, a teaching accuracy in this method is better. Yet,when the robot operation requires a gripping of a workpiece,complications arise. While a gripping position of a workpiece can beaccurately taught, an accurate teaching of the movement of a workpieceby robot manipulators is not realized as all of the operating positionsare directed at the robot manipulators.

Further, a detailed teaching of a gripping position of a workpiece canbe difficult. In teaching an operating case where, based upon a grippingposition of one robot manipulator, a large workpiece is gripped andmoved with two robot manipulators, a slight difference in grippingorientation during the teaching operation can become a large positionaldifference at the other end of the work process. As demonstrated inFIG.17, such a situation is liable to become a problem in the operationof the robot manipulator which grips the other end of the workpiece.

SUMMARY OF THE INVENTION

An object of the present invention is to provide an easy and accuratemethod of teaching a plurality of robot manipulators on the basis of amoving position of an actual workpiece and application of sensorfeedback with respect to the workpiece position and orientation. Afurther objective of the present invention is to provide a robotmanipulator control apparatus to apply this teaching method.

In order to resolve the current problems of typical robot teachingmethods, a first embodiment of the present invention adopts a methodwhere a reference point, which shows a representative position,orientation on a moving path, and relative position from theabove-mentioned reference point of an operating position of a robotextremity in an operating state are taught by detecting and storing theposition of the robot extremity by manually operating the robot. Then apath of the operating positions of the robot extremity while in aoperating state is designated by an array of the reference points. Incase where one workpiece is gripped and moved with plural robotmanipulators, a specified point on the workpiece is regarded as areference point, and the relative position of the above-mentionedreference point and the gripping position of each robot is taught, andmoving or the work is designated by an array of the reference points.

Moreover, a control apparatus of the robot disclosed in a secondembodiment comprises means for manually operating the robot, means fordetecting and storing the present position and/or orientation of therobot extremity, means for calculating and storing a reference pointfrom stored plural positions, means for calculating and storing arelative position and orientation of the robot extremity from one of thereference points, means for calculating an aimed position of operationof the robot on the basis of the stored reference points and designatedrelative position, and means for operating the robot in a manner to moveon the reference points by interpolating between the present referencepoint and the subsequent reference point while keeping a relativeposition of the present reference point and the robot extremity afterdesignation of the present reference point and the subsequent referencepoint.

Moreover, a control apparatus of the robot disclosed in a thirdembodiment of the present invention comprises means for manuallyoperating the robot, means for detecting and storing the presentposition of the robot extremity and/or orientation, means forcalculating and storing a relative position and orientation of the robotextremity from one of the reference points by using the stored positionand/or orientation as the reference points, means for calculating aimedpositions of operation of the robot on the basis of these afterdesignation of stored reference points and the relative position, andmeans for operating the robot so as to move along the reference pointsby interpolating between the present reference point and the subsequentreference point while keeping a relative position of the presentreference point and the robot extremity.

In the robot operation teaching method of the first embodiment of thepresent invention: when the work is moved, an actual position of thework can be taught with an accuracy provided by the robot since thereference point is taught by manually operating and storing the positionof the robot extremity; and in teaching an operation which moves whilegripping the workpiece, the moving path of the work and the teaching ofgripping position can be separated from each other since the path ofoperating positions are appointed by the array of reference points byteaching a reference position from the reference points of the robotextremity in operation; and even in a case where the relation of thework and gripping position varies by sensor feedback or the like, copingof control of operation becomes easy.

In the robot control apparatus of the second embodiment of the presentinvention: position of point and gripping position on the basis of anactual moving position of the workpiece can be stored by means ofmanually operating the robot and storing the present position andorientation of the robot; the representative position of the moving pathof the workpiece can be calculated from the positions of the pluralpoints based on the moving position of the above-mentioned workpiece bymeans of calculating and storing the reference point from the storedplural positions; the relative position of the gripping position of theworkpiece and the representative position of the moving path of theworkpiece can be calculated by means of calculating and storing therelative position and orientation of the robot extremity from one of thereference points; the robot can be operated to grip the workpiece byappointing the reference point and relative position as the aimedposition of operation of the robot; and the robot can be operated byteaching the moving path of the workpiece by moving the reference pointby interpolating between the present reference point and a subsequentreference point while keeping the relative position of the presentreference point and the robot extremity by appointing the presentreference point and subsequent reference point.

The robot control apparatus of a third embodiment of the presentinvention acts in a manner similar to the control apparatus of the robotof the second embodiment with the exception that the storedposition-orientation are directly used as reference points.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is an explanatory diagram of an example of a teaching method ofthe present invention.

FIG. 2 is an explanatory diagram of the example of the teaching methodin the prior art.

FIG. 3 is an explanatory diagram of an axes configuration of a robotmanipulator in an embodiment of the present invention.

FIG. 4 is an explanatory diagram of a system configuration in thepresent embodiment.

FIG. 5 is a configurational diagram of a hard ware of a controlapparatus.

FIG. 6 is a configurational diagram of a central control unit.

FIG. 7 is a configurational diagram of a calculation unit.

FIG. 8 is a configurational diagram of a servo control unit.

FIG. 9 is a flow chart of a process concerning processing of a teachingbox.

FIG. 10 is a flow chart of a process for calculating and storing areference point from three positions.

FIG. 11 is an explanatory diagram of relation of the three positions andthe reference point.

FIG. 12 is a flow chart of a process for calculating and storing areference point from two positions.

FIG. 13 is an explanatory diagram of a relation of the two positions andthe reference point.

FIG. 14 is a flow chart of a process for calculating and storing arelative position.

FIG. 15 is a flow chart of a process for operating the robot byappointing the reference point and the relative position.

FIGS. 16 (a) and 16 (b) are flow charts of processes for operating therobot so as to move on the reference point by interpolating between thepresent reference point and the successive reference point duringkeeping the relative position of the present reference point and therobot end by designating the present reference point and the successivereference point.

FIG. 17 is an explanatory diagram showing an example of change ofgripping position of the other end due to variation of orientation of atthe teaching point of gripping position in the prior art.

DESCRIPTION OF THE PREFERRED EMBODIMENTS

Hereafter, an action teaching method and a control apparatus of a robotof the present invention is elucidated using an embodiment.

The robot in the present embodiment is a robot manipulator having anaxis configuration as shown in FIG.3. As shown in FIG.4, two of theabove-mentioned robot manipulators are connected to the main body of thecontrol apparatus 6 and are operated by a user from said controlapparatus. Each robot manipulator is driven at six joints by motors, asshown by the axes configuration of FIG. 3, and can take an arbitraryhand position p and orientations (n, o, a) within a movable range,wherein p is a hand position vector in a coordinate system (O, X, Y, Z)which is fixed in the system of the present embodiment, and (n, o, a)are unit vectors which cross orthogonally with each other, representingan orientation of the hand in the above-mentioned coordinate system.

The control apparatus detects the present positions of the motors,namely the angles of the joints, by encoders which are mounted on theabove-mentioned respective motors, and actions of respective robotmanipulators are controlled by driving and feedback-controlling theabove-mentioned respective motors.

A configuration of the control apparatus is shown in FIG. 5. A centralcontrol unit 10 is composed of a microcomputer 16, a memory 17 and anI/O 18 as shown in FIG. 6, and the microcomputer 16 is operated by aprogram stored in the memory 17. A console terminal 8 and a teaching box7 are connected to the I/0 18 by communication lines 19 and 20, and themicrocomputer 16 of the central control unit 10 executes a suitableprogram in compliance with a signal which is inputted at the consoleterminal 8 by an operator of the system, thereby controlling the robotmanipulator. The calculation units 11 and 12 are for controlling therespective corresponding robot manipulators, and as shown in FIG. 7, arecomposed of a microcomputer 22, memory 23 and a dual port RAM 21, whichis capable of read-write from the central control unit 10 through a bus9. Motors 15(1) thru 15(12), on which encoders for detecting the presentpositions are mounted, are connected to servo control units 13 and 14.Servo control units 13 and 14, as shown in FIG. 8, are composed of anI/O 24, including a PWM circuit for controlling the above-mentionedmotors 15(1) thru 15(12), a microcomputer 25, a memory 26 and a dualport RAM 27, which is capable of read and write from the calculationunits 11 and 12 through a bus 9.

In operating the robot manipulator, the central control unit 10transmits commands of action of the robot manipulator to the calculationunits 11 and 12 by writing a command of action and coordinates (n_(i),o_(i), a_(i), p_(i)) (i=1, 2) of the aimed position and position andorientation of the extremity of the robot manipulator. These commandsoriginate from the central control unit 10 and proceed to the dual portRAM 21 of the calculation units 11 and 12. The calculation units 11 and12 calculate so-called reverse conversion from the aimed position andorientation (n_(i), o_(i), a_(i), p_(i)) of the hand in compliance withoperational commands from the central control unit 10, calculate anangle of each joint of the robot manipulator, and performsaction-commands to the servo control units 13 and 14 by writing acommand of operation, including the aimed value of each motor, to thedual port RAM 27 of the servo control units 13 and 14 by taking an aimedvalue of a revolution angle of the motor corresponding to a requiredjoint angle. The servo control units 13 and 14 control actions of themotors 15(1) thru 15(12) in compliance with the present position of themotors obtained from the encoders mounted on each motor 15(1) thru15(12) along with the aimed value written in the dual port RAM 27 fromthe calculation units 11 and 12 responding to the action-command fromthe calculation unit 11 and 12. As mentioned above, position andorientation of the hand of the robot manipulator can be operated to adesired position by action-command from the central control unit 10.

Subsequently, the control apparatus of the second and third embodimentis elucidated. Means for manually operating the robot is realized by theteaching box 7 and a program in the microcomputer 16 of the centralcontrol unit 10. The teaching box 7 has the microcomputer in the samebody, and has a plurality of keys and communicating function as an inputmeans for an operator at the control apparatus. Namely, while theoperator is pushing the key, the microcomputer in the teaching box 7transmits a code, corresponding to the pushed key, to the centralcontrol unit 10 of the control apparatus. The central control unit 10performs an action-command to the robot manipulator by a program incompliance with the code transmitted from the teaching box 7. Theprogram is started by an input from the console terminal 8, andterminates by a terminating key input of the teaching box 7. A flow ofthe processing is shown in FIG. 9.

Means for detecting and storing the present position of the robotextremity is realized as follows. The command for detecting the presentposition is sent to the calculation units 11 and 12 from the centralcontrol unit 10 via the dual port RAM 21, and the calculation units 11and 12 send commands of the detected present position to the servocontrol units 13 and 14 responding thereto. The servo control units 13,14 read out counters on the encoders mounted on respective motors 15(1)thru 15(12), and an angle of revolution of respective motors 15(1) thru15(12) are written in the dual port RAM 27 as replies to the calculationunits 11 and 12. The calculation units 11 and 12 read out the revolutionangle of each motor from the dual port RAM 27, and calculate therevolution angle of each joint, and furthermore perform so-calledtransformations, where then the positions and orientations (n, o, a, p)of the extremities of the robot manipulators are calculated from eachjoint angle, and positions and orientations data of the extremities arewritten in the dual port RAM 21 as a reply to the central control unit10. The central control unit 10 reads out the data of the position andorientation of the extremity from the dual port RAM 21, and stores it inthe memory 17 of the central control unit 10 with a name correspondingto the data of the position and orientation of the extremity. The name,which is inputted from the console terminal 8 by the operator, is readin the central control unit 10. The mean for detecting and storing thepresent position is started by operation of the teaching box 7 as aprocess for storing the present position of FIG. 9.

Data of the position and orientation of the extremity is composed ofthree unit vectors (n, o, a), which are orthogonally crossed andrepresent the orientation, and a vector p, representing the position.Furthermore, the reference point data has the same configuration.Therefore, data of the position and orientation of the extremity, whichis stored by means for detecting and storing the present position suchas in the control apparatus of the third embodiment is usable itself asa reference point.

Subsequently, means for calculating and storing a reference point fromthe stored plural positions is elucidated. The above-mentioned means inthe present embodiment is realized as a program of the central controlunit 10, of which there are two kinds, one for calculating a referencepoint from three positions, and the other for calculating a referencepoint from two positions; with both started by input from the consoleterminal 8.

A process flow chart for calculating and storing the reference pointfrom three positions is shown in FIG. 10. Calculation of the referencepoint S=(n_(s), o_(s), a_(s), p_(s)) is performed by the followingcalculation:

p_(s) =p₁

n_(s) =(p₂ -p₁)/|p₂ -p₁ |

w₁ =p₃ -p₁

w₂ =w₁ -(w₁ ·n_(s))n_(s)

o_(s) =w₂ /|w₂ /|

a_(s) =n_(s) ×o_(s) •

Wherein, p_(s) is identical with p₁ as shown in FIG. 11, and n_(s) is aunit vector directing from p₁ to p₂, o_(s) is a unit vector of adirection of a perpendicular which is down from p₃ by a straight lineconnecting between p₂ and p₃, and a_(s) is an outer product of n_(s) ando_(s).

A process flow chart for calculating and storing a reference point fromtwo positions is shown in FIG. 12. Calculation of the reference pointS=(n_(s), o_(s), a_(s), p_(s)) is performed by the followingcalculation:

a_(s) =(0, 0, 1)^(T)

P_(s) =P₁

w₁ =p₂ -p₁

w₂ =w₁ -(w₁ ·a_(s))a_(s)

n_(s) =w₂ /|w₂ /|

o_(s) =a_(s) ×n_(s) •

Wherein, as shown in FIG. 13, p_(s) is identical with p₁, and a_(s) isthe unit vector of Z direction in a world coordinate system, and n_(s)is a perpendicular unit vector which is down from p₂ by the straightline extending from p_(s) to a_(s), and o_(s) is an outer product ofa_(s) and n_(s).

Means for calculating and storing a relative position and orientation ofthe extremity of the robot from one of the reference points is realizedby a program of the central control unit 10 which performs the followingcalculation and stores the result in the memory 17. A flow chart of thisprocess is shown in FIG. 14. ##EQU1## then, a relative position (n_(r),o_(r), a_(r), p_(r)) is calculated as: ##EQU2##

After designation of the stored reference point and a relative position,means for calculating the aimed position of action of the robot, on thebasis of these, and for operating the robot, is realized by the programof the central control unit 10. A flow chart of the processing is shownin FIG. 15. From a reference point S=(n_(s), o_(s), a_(s), p_(s)) and arelative position R=(n_(r), o_(r), a_(r), p_(r)), the aimed position andorientation (n, o, a, p) of operation for the extremity is calculated:##EQU3##

After designation of the present reference point and the subsequentreference point, means for operating the robot by interpolating betweenthe present reference point and subsequent reference points whilekeeping the relative position of the present reference point is realizedby the program of the central control unit 10. Process flow charts areshown in FIG. 16(a) and (b). A relative position R=(n_(r), o_(r), a_(r),p_(r)) with respect to the present reference point S₀ =(n_(so), o_(so),a_(so), p_(so)) of the position and orientation of the extremityT=(n_(t), o_(t), a_(t), _(p)) is calculated as follows: ##EQU4##Further, the i-th position and orientation of the extremityT(i)=(n_(ti), o_(ti), a_(ti), p_(ti)) is calculated from theinterpolating point S(i)=(n_(si), o_(si), a_(si), p_(si)) and relativeposition R=(n_(r), o_(r), a_(r), p_(r)) as follows: ##EQU5##

In the above-mentioned respective means, in the event that two robotmanipulators make performances, commands are sent to the correspondingrespective calculation unit 11 or 12 in turn, and various calculationprocesses in the flow chart are executed responding to the two robotmanipulators, respectively.

Subsequently, an action teaching method for moving one workpiece withtwo robot manipulators by using the above-mentioned apparatus iselucidated, as an example of a teaching method of the first invention ofthe present invention.

As shown in FIG. 1, moving a parallel-piped workpiece 3 from a firstposition to a second position, and then to a third position with tworobot manipulators 1, 2 is taught as follows.

First, the workpiece 3 is placed at a first position, and the extremityof the manipulator 1 or 2 is moved to a point P1 on the workpiece 3 byoperation of the keys in the teaching box 7, and the position P1 isstored by operation of the memory key of the present position. Moreover,in a similar manner, the extremity of the robot manipulator 1 or 2 ismoved to another two points P2, P3 on the workpiece 3 and informationabout these positions is stored. Then gripping positions P4, P5 of theworkpiece 3 are stored, where, P4, P5 are the gripping positions of thefirst robot manipulator 1 and the second robot manipulator 2,respectively, when the work 3 is placed on the first position.

Subsequently, the work is placed on the second position, and theextremity of the robot manipulator 1 or 2 is moved on three points P6,P7, P8 on the work corresponding to P1, P2, P3 by operation of theteaching box 7, and these are stored. Furthermore, the workpiece 3 isplaced at the third position, with the extremity of the robotmanipulator 1 or 2 being moved to three points P9, P10, P11 on theworkpiece 3 corresponding to P1, P2, P3 by operation of the teaching box7, and these are stored.

By using the means for calculating and storing the reference point fromthe three positions, a reference point S1 is calculated and is storedfrom the above-mentioned P1, P2, P3, and a reference point S2 iscalculated and is stored from the above-mentioned P6, P7, P8, and areference point S3 is calculated and is stored from the above-mentionedP9, P10, P11. Here, S1 S2, S3 are reference points representingpositions and orientations of the workpiece which is placed at the firstposition, the second position, the third position, respectively.

From the above-mentioned S1 and P4, a relative position r1 of thegripping position of the first robot manipulator 1 with respect to thereference point is calculated and is stored, and from theabove-mentioned S1 and P5, a relative position r2 of the grippingposition of the second robot manipulator 2 with respect to the referencepoint is calculated and is stored.

Calculation of the above-mentioned reference points and their relativepositions are executed by starting the program of the central controlunit 10 of the control apparatus by operation of the console terminal 8.

While operating, the reference point S1 and the relative position R1 aredesignated and the first robot manipulator 1 is moved to the grippingposition, and the reference point S1 and the relative position R2 aredesignated and the second robot manipulator 2 is moved to the grippingposition. Then, the present reference point and the subsequent referencepoint are designated, and while keeping a relative position of thepresent reference point and the extremity of each robot by operatingeach robot so as to move by interpolating between the present referencepoint and the subsequent reference point, the work can be moved from thefirst position to the third position via the second position by lettingthe robot manipulator 1 or 2 make action for designating S1 for thepresent reference point and for designating S2 for the subsequentreference point and make for designating S2 for the present referencepoint and for designating S3 for the subsequent reference point to therobot manipulator 1 or 2.

INDUSTRIAL APPLICABILITY

As seen from the above action teaching method and control apparatus fora robot, since an actual work position is taught from an operationalposition of the robot manipulator, default on an accuracy of operationalposition due to difference of numeral input data and actual operationalcircumference which is liable to occur in off-line teaching iseliminated. Moreover, since the operational position of the robotmanipulator is taught by separating a reference point, which is aposition and orientation representing the work, and a relative positionwith respect to the reference point of the gripping position of eachrobot manipulator, in the event that the moving position of the work isvaried, only the reference point which is varied is taught again, and inthe event that the gripping position is varied, only the relativeposition is taught again. Additionally, since the moving path of thework is designated by reference points, action teaching by keeping therelative position of plural robot manipulators is not needed.Furthermore, the method of the present invention is easily applicable tothe various number of the robot manipulator. Moreover, in the secondinvention of the present invention, since teaching of reference pointsis calculated from plural teaching positions, it is not needed to takecare of the orientation of the extremity of the robot manipulator inteaching.

As mentioned above, in the action teaching method and the controlapparatus of the robot of the present invention, the teaching can beexecuted in a way of thinking based on the work, and particularly in theaction teaching of plural robot manipulators, accurate and easy teachingis made possible.

We claim:
 1. An action teaching method for a robot system having aplurality of moveable robot-manipulator adapted to hold a workpiece,comprising the steps of:manually operating one of saidrobot-manipulators to said workpiece while at a first area, anddetermining a first reference point indicative of a relative positionand orientation of said workpiece at said first area; manually operatingsaid robot-manipulators to said work piece while at said first area anddetermining gripping positions where said plurality ofrobot-manipulators hold said workpiece while at said first area;manually operating said one of said robot-manipulators to said workpiecewhile at a second area and determining a second reference pointindicative of a relative position and orientation of said workpiece atsaid second area; designating a path of operating positions for saidplurality of robot-manipulators by interpolating between arraysrespectively having data representing the first and second referencepoints; and determining relative gripping positions where said pluralityof robot-manipulators hold said workpiece while not at said first area,said relative gripping positions being distinct from said referencepoints and maintained in a relative position to said reference pointswhile said workpiece is being moved.
 2. A method as in claim 1, whereinsaid each of said first and second reference point is determined bymoving said one of said robot-manipulators to at least three positionswithin said first and second area, respectively, so as to indicate saidrelative position and orientation of said workpiece.
 3. A method as inclaim 2, wherein a first of said positions is used to represent saidposition of said workpiece and a second and third of said positions areused to represent said orientation of said workpiece.
 4. A method as inclaim 1 wherein each of said robot-manipulators respectively gripdifferent portions of the workpiece, and are commanded to differentlocations relative to said reference point, where each of saidrobot-manipulators grip the workpiece at a different location relativeto a single reference point.
 5. A method as in claim 1 wherein saidmanually operating steps each include the steps of moving said one ofsaid robot-manipulators to at least two points on the workpiece andstoring information about these two points to obtain position andorientation.
 6. A method as in claim 1 wherein said manually operatingsteps each include moving said one of said robot-manipulators to threepoints on the workpiece at each of said first and second areas, andmeasuring three dimensional information including position, and twodimensional orientation, from said three points.
 7. A control apparatusfor a robot system having a plurality of robot-manipulators,comprising:means for manually operating the robot system, means fordetecting and storing a plurality of positions and orientations of oneof said plurality of robot-manipulators while at different locations,means for calculating and storing a reference point from said pluralityof stored positions and orientations; means for calculating and storingrelative states of said plurality of robot-manipulators, indicative oftheir position and orientation, on the basis of said reference point;control means, responsive to said stored reference point and relativestates, for calculating a desired path of operation over which saidrobot system is to be operated, and for designating a present referencepoint as a starting point and a subsequent reference point as an endingpoint, and means for controlling said plurality of robot-manipulators soas to hold a workpiece at said starting point by specifying grippingpositions relative to said present reference point, and for moving saidrobot system so as to move between reference points by interpolatingbetween the present reference point and the subsequent reference point,while keeping a relative position between the present reference pointand said plurality of robot-manipulators by moving said robot system ina manner so as to maintain an original orientation of said workpiece. 8.A control apparatus of a robot system in accordance with claim 7,wherein the means for calculating and storing a reference point fromsaid plurality of stored positions and orientations includes calculatingsaid reference point from three positions, wherein a first position ofsaid three positions represents the position of the reference point andthe other positions represent orientation of the reference point.
 9. Acontrol apparatus of a robot system in accordance with claim 7, whereinthe means for calculating and storing a reference point from saidplurality of stored positions and orientations includes calculating athe reference point from two positions, a first position of said twopositions representing the position of the reference point and the otherposition representing orientation of the reference point.
 10. A controlapparatus according to claim 7 wherein each of said robot-manipulatorsholds a side of said workpiece, said control means designating positionsof said respective robot-manipulators relative to said reference point.11. A controllable robot apparatus comprising:at least tworobot-manipulators; means for manually operating saidrobot-manipulators; means for setting a holding position where saidrobot-manipulators hold a workpiece; means for detecting and storing apresent position and orientation of of each of said robot-manipulators;means for calculating and storing one of the present position or arelative position with respect to the present position and orientationof one of said robot-manipulators by determining the stored position andorientation as a reference point and for designating the reference pointand the relative position, and calculating a desired position ofoperation of the robot apparatus on the basis of stored information andfor operating the robot apparatus, and means for designating a presentreference point and a subsequent reference point, and operating therobot apparatus so as to move between the reference points byinterpolating between the present reference point and the subsequentreference point, the movement of said robot apparatus proceeding in amanner so as to maintain an original orientation of said workpiece,allowing for a relative position of the present reference point and eachof said robot-manipulators to be maintained so that saidrobot-manipulators hold the workpiece at the holding position and thereference point stays at its proper position on an interpolated path.12. A control apparatus according to claim 11 wherein each of saidrobot-manipulators holds a side of said workpiece, said control meansdesignating positions of said respective robot-manipulators relative tosaid reference point.
 13. A method of operating a robot systempossessing a plurality of robot-manipulators, comprising the stepsof:establishing a path from a first position to a second position;manually moving one of said robot-manipulators to a first area in saidfirst position and moving said one of said robot-manipulators to atleast two points within said first area; calculating a first referencepoint from said at least two points, said first reference pointincluding at least position information and orientation information;manually moving said one of said robot-manipulators to a second positionand locating said one of said robot-manipulators to at least two pointsin a second area of said second position and determining positioninformation including position and orientation of said second area fromsaid at least two points to determine a reference point of said secondposition; and interpolating a path between said first reference pointand said second reference point; determining positions where saidplurality of robot-manipulators hold said workpiece relative to saidreference point; and setting positions of said plurality ofrobot-manipulators along said path that maintain an original orientationof said workpiece, allowing for a relative position of saidrobot-manipulators and said reference point to be maintained along saidpath.
 14. A control apparatus according to claim 13 wherein each of saidrobot-manipulators holds a side of said workpiece, said control meansdesignating positions of said respective robot-manipulators relative tosaid reference point.